/*
 * @Descripttion:
 * @version:
 * @Author: ChenXiang
 * @Date: 2021-07-10 18:59:53
 * @LastEditors: ChenXiang
 * @LastEditTime: 2021-09-30 09:11:09
 */
import React from "react";
import { render, fireEvent } from "@testing-library/react";
import ButtonGroup from "./buttonGroup";
const defaultProps = {
  onClick: jest.fn()
};

// const testProps: ButtonProps = {
//   btnType: "primary",
//   size: "lg",
//   className: "klass"
// };

// const disabledProps: ButtonProps = {
//   disabled: true,
//   onClick: jest.fn()
// };
// describe("test Button component", () => {
//   it("呈现正确的默认按钮", () => {
//     const wrapper = render(<Button {...defaultProps}>Nice</Button>);
//     // 返回html element
//     const element = wrapper.getByText("Nice") as HTMLButtonElement;
//     expect(element).toBeInTheDocument();
//     expect(element.tagName).toEqual("BUTTON");
//     expect(element).toHaveClass("btn btn-default");
//     expect(element.disabled).toBeFalsy();
//     fireEvent.click(element);
//     expect(defaultProps.onClick).toHaveBeenCalled();
//   });

//   it("根据不同props显示不同组件", () => {
//     const wrapper = render(<Button {...testProps}>Nice</Button>);
//     const element = wrapper.getByText("Nice");
//     expect(element).toBeInTheDocument();
//     expect(element).toHaveClass("btn-primary btn-lg klass");
//   });
//   it("button type为link，且有href时", () => {
//     const wrapper = render(
//       <Button btnType="link" href="http://dummyurl">
//         Link
//       </Button>
//     );
//     const element = wrapper.getByText("Link");
//     expect(element).toBeInTheDocument();
//     expect(element.tagName).toEqual("A");
//     expect(element).toHaveClass("btn btn-link");
//   });
//   it("渲染禁用按钮时禁用设置为true", () => {
//     const wrapper = render(<Button {...disabledProps}>Nice</Button>);
//     const element = wrapper.getByText("Nice") as HTMLButtonElement;
//     expect(element).toBeInTheDocument();
//     expect(element.disabled).toBeTruthy();
//     fireEvent.click(element);
//     expect(disabledProps.onClick).not.toHaveBeenCalled();
//   });
// });
